C++中的拷贝构造函数(复制构造函数)以及涉及的深拷贝和浅拷贝问题

您所在的位置:网站首页 c++ 构造函数怎么写 C++中的拷贝构造函数(复制构造函数)以及涉及的深拷贝和浅拷贝问题

C++中的拷贝构造函数(复制构造函数)以及涉及的深拷贝和浅拷贝问题

2024-07-14 01:04| 来源: 网络整理| 查看: 265

C++中的拷贝构造函数和深浅拷贝 一丶 拷贝构造函数I. 引入II. 编写形式III. 特性1. 拷贝构造函数是构造函数的一个重载形式。2. 拷贝构造函数的参数只有一个而且必须是类类型对象的引用,使用传值的方式时编译器将直接报错,因为会引发无穷递归调用3. 若未显式定义,编译器会生成默认的拷贝构造函数。4. 编译器生成的默认拷贝构造函数已经可以完成字节序的值拷5. 拷贝构造函数典型的调用场景: 二丶浅拷贝和深拷贝I. 浅拷贝II. 深拷贝

一丶 拷贝构造函数 I. 引入

拷贝构造函数:只有单个形参,该形参是对本类型对象的引用(一般常用const修饰),在用已存在的类类型对象创建新的对象时由编译器自动调用。

这里我们以一个类Date举例,编写它的构造函数:

#include using namespace std; class Date { public: //自定义的全缺省型默认构造函数 Date(int day = 1, int month = 12, int year = 2024) { _day = day; _month = month; _year = year; } //自定义编写的拷贝构造函数 Date(const Date& date) { cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3